#!/bin/bash

# 定义要替换的旧模块名和新模块名
OLD_MODULE="github.com/yourusername/user-crud"
NEW_MODULE="crud-go-projects/user-crud"

# 设置 UTF-8 环境
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

process_file() {
    local file="$1"
    echo "Processing file: $file"
    
    # 创建临时文件
    temp_file="${file}.tmp"
    
    # 检测文件编码并转换为 UTF-8（如果需要）
    file_encoding=$(file -i "$file" | grep -o "charset=.*" | cut -d= -f2)
    if [ "$file_encoding" != "utf-8" ]; then
        iconv -f $file_encoding -t UTF-8 "$file" > "$temp_file" && mv "$temp_file" "$file"
    fi
    
    # 替换模块名
    if [[ "$OSTYPE" == "darwin"* ]]; then
        sed -i '' "s|${OLD_MODULE}|${NEW_MODULE}|g" "$file"
    else
        sed -i "s|${OLD_MODULE}|${NEW_MODULE}|g" "$file"
    fi
}

# 查找并处理所有 .go 文件
find . -type f -name "*.go" | while read -r file; do
    process_file "$file"
done

echo "Module replacement completed" 